package com.idlecode.statics;

import com.idlecode.config.template.TemplateInfo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @program: IdleCode
 * @description
 * @author: rongjuwei
 * @create: 2024-07-10 16:05
 **/
public class TemplateInfo1_1Util {

    protected static final Map<String, String> info = new HashMap<>();

    public static final String codeBasePath = "src";

    static {
        info.put("格式一.1", "代码格式一.1和代码格式一生成的代码格式完全一致。\n" +
                "只有代码路径不同：\n" +
                "代码格式一路径为src/main/java/com...\n" +
                "代码格式一.1路径为src/com...");
    }

    public static List<TemplateInfo> getTemplates(List<String> selectedGenFileItems) {
        List<TemplateInfo> templateList = new ArrayList<>();
        for (String selectedGenFileItem : selectedGenFileItems) {
            if ("Controller.java".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/Controller.java.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/controller/${ClassName}Controller.java");
                templateList.add(templateInfo);
            }
            if ("Entity.java".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/Entity.java.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/entity/${ClassName}Entity.java");
                templateList.add(templateInfo);
            }
            if ("BaseEntity.java".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/BaseEntity.java.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/entity/base/${ClassName}BaseEntity.java");
                templateList.add(templateInfo);
            }
            if ("Mapper.java".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/Mapper.java.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/mapper/${ClassName}Mapper.java");
                templateList.add(templateInfo);
            }
            if ("Mapper.xml".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/Mapper.xml.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/mapper/${ClassName}Mapper.xml");
                templateList.add(templateInfo);
            }
            if ("BaseMapper.xml".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/BaseMapper.xml.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/mapper/base/${ClassName}BaseMapper.xml");
                templateList.add(templateInfo);
            }
            if ("Service.java".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/Service.java.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/service/${ClassName}Service.java");
                templateList.add(templateInfo);
            }
            if ("ServiceImpl.java".equals(selectedGenFileItem)) {
                TemplateInfo templateInfo = new TemplateInfo();
                templateInfo.setTemplateName("format1_1/ServiceImpl.java.ftl");
                templateInfo.setGeneratorPath("${packageName}/${packagePath}/service/impl/${ClassName}ServiceImpl.java");
                templateList.add(templateInfo);
            }
        }
        return templateList;
    }
}
